package org.batch.service.business;

import org.batch.entity.Trading;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.List;

/**
 * 交易数据业务接口
 *
 * @author LiKun
 * @date 2021/9/29 14:13
 */
public interface TradingService {
    /**
     * 添加交易信息
     *
     * @param trading 交易数据
     *
     * @return 影响的行数
     */
    int insertTrading(@NotNull Trading trading);

    /**
     * 批量插入数据交易
     *
     * @param tradings 交易数据
     *
     * @return 影响条数
     */
    void batchInsertTrading(@NotEmpty List<Trading> tradings);

    /**
     * 批量处理交易数据
     *
     * @param id       账户ID
     * @param tradings 交易数据
     *
     * @throws Exception 账户余额不足
     */
    void batchDealTrading(@NotEmpty String id, @NotEmpty List<Trading> tradings) throws Exception;
}
